package com.xbongbong.paas.field;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @author: wufeng
 * @date: 2018/8/15 10:22
 * @desrcption: 关联条件
 */
@Getter
@Setter
@ToString
public class LinkConditionPoJo implements Serializable {

    private static final long serialVersionUID = -4905133880910497360L;
    /**
     * 当前表的某个字段的attr，如果是子表单数据时，其格式为subForm_1.text_1，需要解析掉
     */
    // @NotEmpty(message = "{dto.msg.linkCondition.attr.NotEmpty}") 此处校验去掉，因为设置固定值时没有attr
    private String attr;

    /**
     * 字段类型
     * @see com.xbongbong.paas.enums.FieldTypeEnum
     */
    private Integer attrFieldType;

    /**
     * 操作标示，比如等于，不等于，大于，小于等等
     * @see com.xbongbong.paas.enums.ConditionEnum
     */
    private String symbol;

    /**
     *  需要等于某个表的某个字段的attr
     */
    @NotEmpty(message = "{dto.msg.linkCondition.rely.NotEmpty}")
    private String rely;

    /**
     * 关联表单对应固定值类型的值
     */
    private Object value;

    /**
     * 关联表单字段类型
     */
    private Integer relyFieldType;

    /**
     * 关联表单字段值类型，1表示动态值，2表示固定值
     * @see com.xbongbong.pro.enums.businessrule.enums.RuleValueTypeEnum
     */
    private Integer valueType;

}
